package com.sg.dto.biz.calc.req;

import com.sg.dto.biz.calc.common.DataSetsListOneDto;
import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @desc ImplementCalcServiceCollectionOfMultipleNumComReqDto
 * @使用场景
 */
@Data
public class ImplementCalcServiceCollectionOfMultipleNumComReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 通用计算公式 ADDITION_OF_TWO_NUM:两个数相加 SUBTRACTION_OF_TWO_NUM:两个数相减 DIVISION_OF_TWO_NUM:两个数相除 SUM_OF_MULTIPLE_NUM:数据集求和 RATIO_BETWEEN_TWO_NUM:两个数差额比 RATIO_OF_TWO_NUM:两个数数值比 COMPLEX_CALC_OF_MULTIPLE_NUM:数据集复合计算 NEWEST_OF_MULTIPLE_NUM:数据集取最新 MAX_OR_MIN_OF_MULTIPLE_NUM:数据集求最大最小值 AVERAGE_OF_MULTIPLE_NUM:数据集求平均值 PART_AVE_OF_MULTIPLE_NUM:数据集去除最大最小求平均 COMPLEX_CALC_OF_TWO_NUM:两个数复合计算 MULTI_OF_TWO_NUM:两个数相乘
     */
    @NotNull(message = "通用计算公式不能为空")
    @ApiModelProperty("通用计算公式")
    private String calcFormula;

    /**
     * 求最大最小值 MAX:最大值 MIN:最小值
     */
    @ApiModelProperty("求最大最小值")
    private String calcMaxAndMin;

    /**
     * 小数点规则
     */
    @ApiModelProperty("小数点规则")
    private Long decimalPointRules;

    /**
     * 小数最后一位规则 MALING:尾数抹零 ROUNDED:尾数四舍五入
     */
    @ApiModelProperty("小数最后一位规则")
    private String decimalDigitsLastRules;

    @ApiModelProperty("数据集列表一")
    private List<DataSetsListOneDto> dataSetsListOne = new ArrayList<>();

}
